package com.pb.wkflow.core.service;

import org.camunda.bpm.engine.delegate.DelegateTask;

/**
 * @author 苗益辉
 * @date 2022/5/25 19:06
 */
public interface WorkflowMultiService {

    /**
     * 处理会签
     * @param delegateTask delegateTask
     */
    void dealVotingResult(DelegateTask delegateTask);

    /**
     * 计算当前条件是否满足
     * @param delegateTask delegateTask
     * @param nrOfInstances 会签任务数量
     * @param nrOfPassInstances 会签通过数量
     * @return boolean
     */
    boolean calculateCondition(DelegateTask delegateTask, Integer nrOfPassInstances, Integer nrOfInstances);

    /**
     * 更新会签审批结果，提前结束
     * @param delegateTask delegateTask
     * @param votingResult agree,against
     */
    void updateVotingResult(DelegateTask delegateTask, String votingResult);
}
